#region Copyright Jonathan Quiros

//	
// All rights are reserved. Reproduction or transmission in whole or in 
// part, in any form or by any means, electronic, mechanical or otherwise, 
// is prohibited without the prior written consent of the copyright owner.
//
// Filename: ITeamsRepository.cs
//

#endregion

using System.Collections.Generic;
using Ids.Web.Listing;
using Novagoal.Models;
using Novagoal.Models.Utils;

namespace Novagoal.Repositories
{
    public interface ITeamsRepository
    {
        List<Team> GetTeamsByTournament(int tournamentId);
        
        List<Team> GetTeams(Dictionary<TeamListFilter, string> filterList, TeamListSortField sortField, SortDirectionType sortDirection, int currentPage, int pageSize);

        List<Team> GetTeams();

        int GetTotalTeams(Dictionary<TeamListFilter, string> filterList);
        
        Team GetTeam(int teamId);
        
        int AddTeam(Team team);
        
        int EditTeam(Team team);
        
        Dictionary<Team, bool> GetTeamsByPlayer(int playerId);
        
        void DeleteAllPlayerTeams(int playerId);
        
        void AddPlayerInTeam(Player player, int teamId, bool enabled);
    }
}